<template>
  <div>
    <!-- 按钮标题 -->
    <div class="title">
      <h4>芙蓉楼送辛渐</h4>
      <span class="btn" @click="isShow = !isShow">
        {{ isShow ? '收起' : '展开' }}
      </span>
    </div>
    <!-- 下拉内容 -->
    <div class="container" v-show="isShow">
      <!-- 这里可以直接使用组件内变量 -->
      <!-- 1.在slot标签上创建自定义属性名 并和内部变量关联起来 -->
      <slot :row="defaultObj">{{ defaultObj.defaultOne }}</slot>
    </div>
  </div>
</template>

<script>
// 需求:使用子组件内的变量 该怎么使用
// 语法:
// 1.在子组件的slot标签上绑定一个属性和子组件的值
// 2.使用组件 传入自定义标签 用template和v-slot="自定义变量名"  这里注意v-slot= 是作用域插槽 v-slot: 是具名插槽
// 3.自定义变量名用scope会自动绑定slot上所有的值和属性

// 这里需要注意一个小bug 只能有一个slot标签 不然会报错

export default {
  data() {
    return {
      isShow: false,
      // 声明变量
      defaultObj: {
        defaultOne: '无名氏',
        defaultTwo: '小明'
      }
    }
  }
}
</script>

<style scoped>
h3 {
  text-align: center;
}

.title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #ccc;
  padding: 0 1em;
}

.title h4 {
  line-height: 2;
  margin: 0;
}

.container {
  border: 1px solid #ccc;
  padding: 0 1em;
}

.btn {
  /* 鼠标改成手的形状 */
  cursor: pointer;
}

img {
  width: 50%;
}
</style>